[INFO] fetching crate crudly 0.5.0...
[INFO] fixing crudly-0.5.0 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=start=2015 for pr-157817-2
[INFO] extracting crate crudly 0.5.0 into /workspace/builds/worker-6-tc1/source
[INFO] started tweaking crates.io crate crudly 0.5.0
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate crudly 0.5.0
[INFO] tweaked toml for crates.io crate crudly 0.5.0 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate crudly 0.5.0 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate crudly 0.5.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded crudly-macros v0.5.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] c192b953fca1e73bde8cb38db9c37a523ea8e54642e8f57966a71de1f0403d71
[INFO] running `Command { std: "docker" "start" "c192b953fca1e73bde8cb38db9c37a523ea8e54642e8f57966a71de1f0403d71", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c192b953fca1e73bde8cb38db9c37a523ea8e54642e8f57966a71de1f0403d71" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c192b953fca1e73bde8cb38db9c37a523ea8e54642e8f57966a71de1f0403d71", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c192b953fca1e73bde8cb38db9c37a523ea8e54642e8f57966a71de1f0403d71" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=start=2015", kill_on_drop: false }`
[INFO] [stderr]    Compiling litemap v0.8.1
[INFO] [stderr]    Compiling writeable v0.6.2
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling libsqlite3-sys v0.30.1
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling parking v2.2.1
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling crc-catalog v2.4.0
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]    Compiling crc v3.4.0
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling event-listener v5.4.1
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]     Checking socket2 v0.6.3
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]     Checking mio v1.2.0
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling hashlink v0.10.0
[INFO] [stderr]    Compiling flume v0.11.1
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking tokio v1.50.0
[INFO] [stderr]    Compiling futures-intrusive v0.5.0
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling dotenvy v0.15.7
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling crudly-macros v0.5.0
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking sqlx-core v0.8.6
[INFO] [stderr]    Compiling sqlx-sqlite v0.8.6
[INFO] [stderr]    Compiling sqlx-macros-core v0.8.6
[INFO] [stderr]    Compiling sqlx-macros v0.8.6
[INFO] [stderr]     Checking sqlx v0.8.6
[INFO] [stderr]     Checking crudly v0.5.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0599]: the method `insert` exists for struct `User`, but its trait bounds were not satisfied
[INFO] [stdout]   --> examples/external_ids.rs:27:10
[INFO] [stdout]    |
[INFO] [stdout]  7 | struct User {
[INFO] [stdout]    | ----------- method `insert` not found for this struct because it doesn't satisfy `User: InsertWithId<_>`
[INFO] [stdout] ...
[INFO] [stdout] 27 |     user.insert(&pool).await.unwrap();
[INFO] [stdout]    |          ^^^^^^ method cannot be called on `User` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/executor/mod.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct DefaultCRUDExecutor;
[INFO] [stdout]    | ------------------------------ doesn't satisfy `DefaultCRUDExecutor: CRUDExecutor<_>`
[INFO] [stdout]    |
[INFO] [stdout] note: trait bound `DefaultCRUDExecutor: CRUDExecutor<_>` was not satisfied
[INFO] [stdout]   --> examples/external_ids.rs:5:28
[INFO] [stdout]    |
[INFO] [stdout]  5 | #[derive(FromRow, IntoRow, Crudly)]
[INFO] [stdout]    |                            ^^^^^^ type parameter would need to implement `InsertWithId`
[INFO] [stdout]    = help: consider manually implementing the trait to avoid undesired bounds
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following traits define an item `insert`, perhaps you need to implement one of them:
[INFO] [stdout]            candidate #1: `InsertWithId`
[INFO] [stdout]            candidate #2: `InsertWithoutId`
[INFO] [stdout]    = note: this error originates in the derive macro `Crudly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the associated function or constant `select_all` exists for struct `User`, but its trait bounds were not satisfied
[INFO] [stdout]   --> examples/external_ids.rs:31:34
[INFO] [stdout]    |
[INFO] [stdout]  7 | struct User {
[INFO] [stdout]    | ----------- associated function or constant `select_all` not found for this struct because it doesn't satisfy `User: Crudly<_>`
[INFO] [stdout] ...
[INFO] [stdout] 31 |     let users: Vec<User> = User::select_all(&pool).await.unwrap();
[INFO] [stdout]    |                                  ^^^^^^^^^^ associated function or constant cannot be called on `User` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/executor/mod.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct DefaultCRUDExecutor;
[INFO] [stdout]    | ------------------------------ doesn't satisfy `DefaultCRUDExecutor: CRUDExecutor<_>`
[INFO] [stdout]    |
[INFO] [stdout] note: trait bound `DefaultCRUDExecutor: CRUDExecutor<_>` was not satisfied
[INFO] [stdout]   --> examples/external_ids.rs:5:28
[INFO] [stdout]    |
[INFO] [stdout]  5 | #[derive(FromRow, IntoRow, Crudly)]
[INFO] [stdout]    |                            ^^^^^^ type parameter would need to implement `Crudly`
[INFO] [stdout]    = help: consider manually implementing the trait to avoid undesired bounds
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following traits define an item `select_all`, perhaps you need to implement one of them:
[INFO] [stdout]            candidate #1: `CRUDExecutor`
[INFO] [stdout]            candidate #2: `Crudly`
[INFO] [stdout]    = note: this error originates in the derive macro `Crudly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `DefaultCRUDExecutor: CRUDExecutor<Sqlite>` is not satisfied
[INFO] [stdout]    --> tests/user.rs:108:5
[INFO] [stdout]     |
[INFO] [stdout] 108 |     DefaultCRUDExecutor: CRUDExecutor<Sqlite>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `CRUDExecutor<Sqlite>` is not implemented for `DefaultCRUDExecutor`
[INFO] [stdout]     |
[INFO] [stdout] help: add `#![feature(trivial_bounds)]` to the crate attributes to enable
[INFO] [stdout]     |
[INFO] [stdout]   2 + #![feature(trivial_bounds)]
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: expected `impl Future<Output = Result<(), Error>>` to be a future that resolves to `<DefaultCRUDExecutor as CRUDExecutor<Sqlite>>::InsertManyWithoutIdResult`, but it resolves to `Result<(), Error>`
[INFO] [stdout]    --> tests/user.rs:171:10
[INFO] [stdout]     |
[INFO] [stdout] 171 |     ) -> sqlx::Result<()> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^ expected associated type, found `Result<(), Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected associated type `<DefaultCRUDExecutor as CRUDExecutor<Sqlite>>::InsertManyWithoutIdResult`
[INFO] [stdout]                           found enum `Result<(), sqlx::Error>`
[INFO] [stdout]     = help: consider constraining the associated type `<DefaultCRUDExecutor as CRUDExecutor<Sqlite>>::InsertManyWithoutIdResult` to `Result<(), sqlx::Error>` or calling a method that returns `<DefaultCRUDExecutor as CRUDExecutor<Sqlite>>::InsertManyWithoutIdResult`
[INFO] [stdout]     = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html
[INFO] [stdout] note: required by a bound in `InsertWithoutId::insert_many::{anon_assoc#0}`
[INFO] [stdout]    --> src/traits.rs:117:22
[INFO] [stdout]     |
[INFO] [stdout] 117 |     ) -> impl Future<Output = Self::InsertManyResult>;
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `InsertWithoutId::insert_many::{anon_assoc#0}`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `crudly` (example "external_ids") due to 2 previous errors
[INFO] [stdout] error[E0277]: the trait bound `DefaultCRUDExecutor: CRUDExecutor<Sqlite>` is not satisfied
[INFO] [stdout]    --> tests/user.rs:154:5
[INFO] [stdout]     |
[INFO] [stdout] 154 |     DefaultCRUDExecutor: CRUDExecutor<Sqlite>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `CRUDExecutor<Sqlite>` is not implemented for `DefaultCRUDExecutor`
[INFO] [stdout]     |
[INFO] [stdout] help: add `#![feature(trivial_bounds)]` to the crate attributes to enable
[INFO] [stdout]     |
[INFO] [stdout]   2 + #![feature(trivial_bounds)]
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0277]: the trait bound `DefaultCRUDExecutor: CRUDExecutor<Sqlite>` is not satisfied
[INFO] [stdout]    --> tests/user.rs:184:5
[INFO] [stdout]     |
[INFO] [stdout] 184 |     DefaultCRUDExecutor: CRUDExecutor<Sqlite>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `CRUDExecutor<Sqlite>` is not implemented for `DefaultCRUDExecutor`
[INFO] [stdout]     |
[INFO] [stdout] help: add `#![feature(trivial_bounds)]` to the crate attributes to enable
[INFO] [stdout]     |
[INFO] [stdout]   2 + #![feature(trivial_bounds)]
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Sqlite: FormatPlaceholder` is not satisfied
[INFO] [stdout]    --> examples/custom_executor.rs:37:50
[INFO] [stdout]     |
[INFO] [stdout]  37 |         let _ = generic_insert_returning_id::<S, Sqlite>(executor, entity).await?;
[INFO] [stdout]     |                                                  ^^^^^^ the trait `FormatPlaceholder` is not implemented for `Sqlite`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `generic_insert_returning_id`
[INFO] [stdout]    --> src/executor/generic.rs:132:20
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub async fn generic_insert_returning_id<S, DB>(
[INFO] [stdout]     |              --------------------------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 132 |     DB: Database + FormatPlaceholder,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^ required by this bound in `generic_insert_returning_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `SqliteQueryResult: LastInsertedRowId` is not satisfied
[INFO] [stdout]    --> examples/custom_executor.rs:37:50
[INFO] [stdout]     |
[INFO] [stdout]  37 |         let _ = generic_insert_returning_id::<S, Sqlite>(executor, entity).await?;
[INFO] [stdout]     |                                                  ^^^^^^ the trait `LastInsertedRowId` is not implemented for `SqliteQueryResult`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `generic_insert_returning_id`
[INFO] [stdout]    --> src/executor/generic.rs:133:22
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub async fn generic_insert_returning_id<S, DB>(
[INFO] [stdout]     |              --------------------------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 133 |     DB::QueryResult: LastInsertedRowId,
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^ required by this bound in `generic_insert_returning_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Sqlite: FormatPlaceholder` is not satisfied
[INFO] [stdout]    --> examples/custom_executor.rs:37:17
[INFO] [stdout]     |
[INFO] [stdout]  37 |         let _ = generic_insert_returning_id::<S, Sqlite>(executor, entity).await?;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `FormatPlaceholder` is not implemented for `Sqlite`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `generic_insert_returning_id`
[INFO] [stdout]    --> src/executor/generic.rs:132:20
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub async fn generic_insert_returning_id<S, DB>(
[INFO] [stdout]     |              --------------------------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 132 |     DB: Database + FormatPlaceholder,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^ required by this bound in `generic_insert_returning_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `SqliteQueryResult: LastInsertedRowId` is not satisfied
[INFO] [stdout]    --> examples/custom_executor.rs:37:17
[INFO] [stdout]     |
[INFO] [stdout]  37 |         let _ = generic_insert_returning_id::<S, Sqlite>(executor, entity).await?;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `LastInsertedRowId` is not implemented for `SqliteQueryResult`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `generic_insert_returning_id`
[INFO] [stdout]    --> src/executor/generic.rs:133:22
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub async fn generic_insert_returning_id<S, DB>(
[INFO] [stdout]     |              --------------------------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 133 |     DB::QueryResult: LastInsertedRowId,
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^ required by this bound in `generic_insert_returning_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Sqlite: FormatPlaceholder` is not satisfied
[INFO] [stdout]    --> examples/custom_executor.rs:37:76
[INFO] [stdout]     |
[INFO] [stdout]  37 |         let _ = generic_insert_returning_id::<S, Sqlite>(executor, entity).await?;
[INFO] [stdout]     |                                                                            ^^^^^ the trait `FormatPlaceholder` is not implemented for `Sqlite`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `generic_insert_returning_id`
[INFO] [stdout]    --> src/executor/generic.rs:132:20
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub async fn generic_insert_returning_id<S, DB>(
[INFO] [stdout]     |              --------------------------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 132 |     DB: Database + FormatPlaceholder,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^ required by this bound in `generic_insert_returning_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `SqliteQueryResult: LastInsertedRowId` is not satisfied
[INFO] [stdout]    --> examples/custom_executor.rs:37:76
[INFO] [stdout]     |
[INFO] [stdout]  37 |         let _ = generic_insert_returning_id::<S, Sqlite>(executor, entity).await?;
[INFO] [stdout]     |                                                                            ^^^^^ the trait `LastInsertedRowId` is not implemented for `SqliteQueryResult`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `generic_insert_returning_id`
[INFO] [stdout]    --> src/executor/generic.rs:133:22
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub async fn generic_insert_returning_id<S, DB>(
[INFO] [stdout]     |              --------------------------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 133 |     DB::QueryResult: LastInsertedRowId,
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^ required by this bound in `generic_insert_returning_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Sqlite: FormatPlaceholder` is not satisfied
[INFO] [stdout]    --> examples/custom_executor.rs:50:45
[INFO] [stdout]     |
[INFO] [stdout]  50 |         generic_insert_many_without_id::<S, Sqlite, _>(executor, entities, batch_size).await
[INFO] [stdout]     |                                             ^^^^^^ the trait `FormatPlaceholder` is not implemented for `Sqlite`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `generic_insert_many_without_id`
[INFO] [stdout]    --> src/executor/generic.rs:166:20
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub async fn generic_insert_many_without_id<S, DB, E>(
[INFO] [stdout]     |              ------------------------------ required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 166 |     DB: Database + FormatPlaceholder,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^ required by this bound in `generic_insert_many_without_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Sqlite: FormatPlaceholder` is not satisfied
[INFO] [stdout]    --> examples/custom_executor.rs:50:9
[INFO] [stdout]     |
[INFO] [stdout]  50 |         generic_insert_many_without_id::<S, Sqlite, _>(executor, entities, batch_size).await
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `FormatPlaceholder` is not implemented for `Sqlite`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `generic_insert_many_without_id`
[INFO] [stdout]    --> src/executor/generic.rs:166:20
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub async fn generic_insert_many_without_id<S, DB, E>(
[INFO] [stdout]     |              ------------------------------ required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 166 |     DB: Database + FormatPlaceholder,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^ required by this bound in `generic_insert_many_without_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Sqlite: FormatPlaceholder` is not satisfied
[INFO] [stdout]    --> examples/custom_executor.rs:50:88
[INFO] [stdout]     |
[INFO] [stdout]  50 |         generic_insert_many_without_id::<S, Sqlite, _>(executor, entities, batch_size).await
[INFO] [stdout]     |                                                                                        ^^^^^ the trait `FormatPlaceholder` is not implemented for `Sqlite`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `generic_insert_many_without_id`
[INFO] [stdout]    --> src/executor/generic.rs:166:20
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub async fn generic_insert_many_without_id<S, DB, E>(
[INFO] [stdout]     |              ------------------------------ required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 166 |     DB: Database + FormatPlaceholder,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^ required by this bound in `generic_insert_many_without_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Sqlite: FormatPlaceholder` is not satisfied
[INFO] [stdout]    --> examples/custom_executor.rs:62:42
[INFO] [stdout]     |
[INFO] [stdout]  62 |         generic_insert_many_with_id::<S, Sqlite, _>(executor, entities, batch_size).await
[INFO] [stdout]     |                                          ^^^^^^ the trait `FormatPlaceholder` is not implemented for `Sqlite`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `generic_insert_many_with_id`
[INFO] [stdout]    --> src/executor/generic.rs:236:20
[INFO] [stdout]     |
[INFO] [stdout] 228 | pub async fn generic_insert_many_with_id<S, DB, E>(
[INFO] [stdout]     |              --------------------------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 236 |     DB: Database + FormatPlaceholder,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^ required by this bound in `generic_insert_many_with_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Sqlite: FormatPlaceholder` is not satisfied
[INFO] [stdout]    --> examples/custom_executor.rs:62:9
[INFO] [stdout]     |
[INFO] [stdout]  62 |         generic_insert_many_with_id::<S, Sqlite, _>(executor, entities, batch_size).await
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `FormatPlaceholder` is not implemented for `Sqlite`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `generic_insert_many_with_id`
[INFO] [stdout]    --> src/executor/generic.rs:236:20
[INFO] [stdout]     |
[INFO] [stdout] 228 | pub async fn generic_insert_many_with_id<S, DB, E>(
[INFO] [stdout]     |              --------------------------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 236 |     DB: Database + FormatPlaceholder,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^ required by this bound in `generic_insert_many_with_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Sqlite: FormatPlaceholder` is not satisfied
[INFO] [stdout]    --> examples/custom_executor.rs:62:85
[INFO] [stdout]     |
[INFO] [stdout]  62 |         generic_insert_many_with_id::<S, Sqlite, _>(executor, entities, batch_size).await
[INFO] [stdout]     |                                                                                     ^^^^^ the trait `FormatPlaceholder` is not implemented for `Sqlite`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `generic_insert_many_with_id`
[INFO] [stdout]    --> src/executor/generic.rs:236:20
[INFO] [stdout]     |
[INFO] [stdout] 228 | pub async fn generic_insert_many_with_id<S, DB, E>(
[INFO] [stdout]     |              --------------------------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 236 |     DB: Database + FormatPlaceholder,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^ required by this bound in `generic_insert_many_with_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/user.rs:172:9
[INFO] [stdout]     |
[INFO] [stdout] 172 | /         <DefaultCRUDExecutor as CRUDExecutor<Sqlite>>::insert_many_without_id::<Self>(
[INFO] [stdout] 173 | |             entities, batch_size, executor,
[INFO] [stdout] 174 | |         )
[INFO] [stdout] 175 | |         .await
[INFO] [stdout]     | |______________^ expected `Result<(), Error>`, found associated type
[INFO] [stdout]     |
[INFO] [stdout]     = note:         expected enum `Result<(), sqlx::Error>`
[INFO] [stdout]             found associated type `<DefaultCRUDExecutor as CRUDExecutor<Sqlite>>::InsertManyWithoutIdResult`
[INFO] [stdout]     = help: consider constraining the associated type `<DefaultCRUDExecutor as CRUDExecutor<Sqlite>>::InsertManyWithoutIdResult` to `Result<(), sqlx::Error>`
[INFO] [stdout]     = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Sqlite: FormatPlaceholder` is not satisfied
[INFO] [stdout]   --> examples/custom_executor.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |         generic_select_by_id(executor, id).await
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `FormatPlaceholder` is not implemented for `Sqlite`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `generic_select_by_id`
[INFO] [stdout]   --> src/executor/generic.rs:64:20
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub async fn generic_select_by_id<S, DB>(
[INFO] [stdout]    |              -------------------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 64 |     DB: Database + FormatPlaceholder,
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^ required by this bound in `generic_select_by_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Sqlite: FormatPlaceholder` is not satisfied
[INFO] [stdout]   --> examples/custom_executor.rs:82:44
[INFO] [stdout]    |
[INFO] [stdout] 82 |         generic_select_by_id(executor, id).await
[INFO] [stdout]    |                                            ^^^^^ the trait `FormatPlaceholder` is not implemented for `Sqlite`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `generic_select_by_id`
[INFO] [stdout]   --> src/executor/generic.rs:64:20
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub async fn generic_select_by_id<S, DB>(
[INFO] [stdout]    |              -------------------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 64 |     DB: Database + FormatPlaceholder,
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^ required by this bound in `generic_select_by_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Sqlite: FormatPlaceholder` is not satisfied
[INFO] [stdout]   --> examples/custom_executor.rs:93:32
[INFO] [stdout]    |
[INFO] [stdout] 93 |         generic_id_exists::<S, Sqlite>(executor, id).await
[INFO] [stdout]    |                                ^^^^^^ the trait `FormatPlaceholder` is not implemented for `Sqlite`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `generic_id_exists`
[INFO] [stdout]   --> src/executor/generic.rs:84:20
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub async fn generic_id_exists<S, DB>(
[INFO] [stdout]    |              ----------------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 84 |     DB: Database + FormatPlaceholder,
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^ required by this bound in `generic_id_exists`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Sqlite: FormatPlaceholder` is not satisfied
[INFO] [stdout]   --> examples/custom_executor.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |         generic_id_exists::<S, Sqlite>(executor, id).await
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `FormatPlaceholder` is not implemented for `Sqlite`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `generic_id_exists`
[INFO] [stdout]   --> src/executor/generic.rs:84:20
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub async fn generic_id_exists<S, DB>(
[INFO] [stdout]    |              ----------------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 84 |     DB: Database + FormatPlaceholder,
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^ required by this bound in `generic_id_exists`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Sqlite: FormatPlaceholder` is not satisfied
[INFO] [stdout]   --> examples/custom_executor.rs:93:54
[INFO] [stdout]    |
[INFO] [stdout] 93 |         generic_id_exists::<S, Sqlite>(executor, id).await
[INFO] [stdout]    |                                                      ^^^^^ the trait `FormatPlaceholder` is not implemented for `Sqlite`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `generic_id_exists`
[INFO] [stdout]   --> src/executor/generic.rs:84:20
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub async fn generic_id_exists<S, DB>(
[INFO] [stdout]    |              ----------------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 84 |     DB: Database + FormatPlaceholder,
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^ required by this bound in `generic_id_exists`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `insert` exists for struct `UserExternalID`, but its trait bounds were not satisfied
[INFO] [stdout]   --> tests/queries.rs:36:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct UserExternalID {
[INFO] [stdout]    | ------------------------- method `insert` not found for this struct because it doesn't satisfy `UserExternalID: InsertWithId<_>`
[INFO] [stdout] ...
[INFO] [stdout] 36 |     user.insert(&pool).await.unwrap();
[INFO] [stdout]    |          ^^^^^^ method cannot be called on `UserExternalID` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/executor/mod.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct DefaultCRUDExecutor;
[INFO] [stdout]    | ------------------------------ doesn't satisfy `DefaultCRUDExecutor: CRUDExecutor<_>`
[INFO] [stdout]    |
[INFO] [stdout] note: trait bound `DefaultCRUDExecutor: CRUDExecutor<_>` was not satisfied
[INFO] [stdout]   --> tests/queries.rs:12:28
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(FromRow, IntoRow, Crudly, Default, Clone, PartialEq, Debug)]
[INFO] [stdout]    |                            ^^^^^^ type parameter would need to implement `InsertWithId`
[INFO] [stdout]    = help: consider manually implementing the trait to avoid undesired bounds
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following traits define an item `insert`, perhaps you need to implement one of them:
[INFO] [stdout]            candidate #1: `InsertWithId`
[INFO] [stdout]            candidate #2: `InsertWithoutId`
[INFO] [stdout]    = note: this error originates in the derive macro `Crudly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Sqlite: FormatPlaceholder` is not satisfied
[INFO] [stdout]    --> examples/custom_executor.rs:104:37
[INFO] [stdout]     |
[INFO] [stdout] 104 |         generic_insert_with_id::<S, Sqlite>(executor, entity).await
[INFO] [stdout]     |                                     ^^^^^^ the trait `FormatPlaceholder` is not implemented for `Sqlite`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `generic_insert_with_id`
[INFO] [stdout]    --> src/executor/generic.rs:108:20
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub async fn generic_insert_with_id<S, DB>(
[INFO] [stdout]     |              ---------------------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 108 |     DB: Database + FormatPlaceholder,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^ required by this bound in `generic_insert_with_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Sqlite: FormatPlaceholder` is not satisfied
[INFO] [stdout]    --> examples/custom_executor.rs:104:9
[INFO] [stdout]     |
[INFO] [stdout] 104 |         generic_insert_with_id::<S, Sqlite>(executor, entity).await
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `FormatPlaceholder` is not implemented for `Sqlite`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `generic_insert_with_id`
[INFO] [stdout]    --> src/executor/generic.rs:108:20
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub async fn generic_insert_with_id<S, DB>(
[INFO] [stdout]     |              ---------------------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 108 |     DB: Database + FormatPlaceholder,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^ required by this bound in `generic_insert_with_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Sqlite: FormatPlaceholder` is not satisfied
[INFO] [stdout]    --> examples/custom_executor.rs:104:63
[INFO] [stdout]     |
[INFO] [stdout] 104 |         generic_insert_with_id::<S, Sqlite>(executor, entity).await
[INFO] [stdout]     |                                                               ^^^^^ the trait `FormatPlaceholder` is not implemented for `Sqlite`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `generic_insert_with_id`
[INFO] [stdout]    --> src/executor/generic.rs:108:20
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub async fn generic_insert_with_id<S, DB>(
[INFO] [stdout]     |              ---------------------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 108 |     DB: Database + FormatPlaceholder,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^ required by this bound in `generic_insert_with_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Sqlite: FormatPlaceholder` is not satisfied
[INFO] [stdout]    --> examples/custom_executor.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |         generic_update_by_id(executor, entity).await
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `FormatPlaceholder` is not implemented for `Sqlite`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `generic_update_by_id`
[INFO] [stdout]    --> src/executor/generic.rs:300:20
[INFO] [stdout]     |
[INFO] [stdout] 295 | pub async fn generic_update_by_id<S, DB>(
[INFO] [stdout]     |              -------------------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 300 |     DB: Database + FormatPlaceholder,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^ required by this bound in `generic_update_by_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `SqliteQueryResult: RowsAffected` is not satisfied
[INFO] [stdout]    --> examples/custom_executor.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |         generic_update_by_id(executor, entity).await
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `RowsAffected` is not implemented for `SqliteQueryResult`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `generic_update_by_id`
[INFO] [stdout]    --> src/executor/generic.rs:301:22
[INFO] [stdout]     |
[INFO] [stdout] 295 | pub async fn generic_update_by_id<S, DB>(
[INFO] [stdout]     |              -------------------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 301 |     DB::QueryResult: RowsAffected,
[INFO] [stdout]     |                      ^^^^^^^^^^^^ required by this bound in `generic_update_by_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Sqlite: FormatPlaceholder` is not satisfied
[INFO] [stdout]    --> examples/custom_executor.rs:115:48
[INFO] [stdout]     |
[INFO] [stdout] 115 |         generic_update_by_id(executor, entity).await
[INFO] [stdout]     |                                                ^^^^^ the trait `FormatPlaceholder` is not implemented for `Sqlite`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `generic_update_by_id`
[INFO] [stdout]    --> src/executor/generic.rs:300:20
[INFO] [stdout]     |
[INFO] [stdout] 295 | pub async fn generic_update_by_id<S, DB>(
[INFO] [stdout]     |              -------------------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 300 |     DB: Database + FormatPlaceholder,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^ required by this bound in `generic_update_by_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `SqliteQueryResult: RowsAffected` is not satisfied
[INFO] [stdout]    --> examples/custom_executor.rs:115:48
[INFO] [stdout]     |
[INFO] [stdout] 115 |         generic_update_by_id(executor, entity).await
[INFO] [stdout]     |                                                ^^^^^ the trait `RowsAffected` is not implemented for `SqliteQueryResult`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `generic_update_by_id`
[INFO] [stdout]    --> src/executor/generic.rs:301:22
[INFO] [stdout]     |
[INFO] [stdout] 295 | pub async fn generic_update_by_id<S, DB>(
[INFO] [stdout]     |              -------------------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 301 |     DB::QueryResult: RowsAffected,
[INFO] [stdout]     |                      ^^^^^^^^^^^^ required by this bound in `generic_update_by_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the associated function or constant `select_by_id` exists for struct `UserExternalID`, but its trait bounds were not satisfied
[INFO] [stdout]   --> tests/queries.rs:38:32
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct UserExternalID {
[INFO] [stdout]    | ------------------------- associated function or constant `select_by_id` not found for this struct because it doesn't satisfy `UserExternalID: Crudly<_>`
[INFO] [stdout] ...
[INFO] [stdout] 38 |     let user = UserExternalID::select_by_id(&42, &pool)
[INFO] [stdout]    |                                ^^^^^^^^^^^^ associated function or constant cannot be called on `UserExternalID` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/executor/mod.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct DefaultCRUDExecutor;
[INFO] [stdout]    | ------------------------------ doesn't satisfy `DefaultCRUDExecutor: CRUDExecutor<_>`
[INFO] [stdout]    |
[INFO] [stdout] note: trait bound `DefaultCRUDExecutor: CRUDExecutor<_>` was not satisfied
[INFO] [stdout]   --> tests/queries.rs:12:28
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(FromRow, IntoRow, Crudly, Default, Clone, PartialEq, Debug)]
[INFO] [stdout]    |                            ^^^^^^ type parameter would need to implement `Crudly`
[INFO] [stdout]    = help: consider manually implementing the trait to avoid undesired bounds
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following traits define an item `select_by_id`, perhaps you need to implement one of them:
[INFO] [stdout]            candidate #1: `CRUDExecutor`
[INFO] [stdout]            candidate #2: `Crudly`
[INFO] [stdout]    = note: this error originates in the derive macro `Crudly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Sqlite: FormatPlaceholder` is not satisfied
[INFO] [stdout]    --> examples/custom_executor.rs:126:35
[INFO] [stdout]     |
[INFO] [stdout] 126 |         generic_delete_by_id::<S, Sqlite>(executor, id).await
[INFO] [stdout]     |                                   ^^^^^^ the trait `FormatPlaceholder` is not implemented for `Sqlite`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `generic_delete_by_id`
[INFO] [stdout]    --> src/executor/generic.rs:344:20
[INFO] [stdout]     |
[INFO] [stdout] 339 | pub async fn generic_delete_by_id<S, DB>(
[INFO] [stdout]     |              -------------------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 344 |     DB: Database + FormatPlaceholder,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^ required by this bound in `generic_delete_by_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `SqliteQueryResult: RowsAffected` is not satisfied
[INFO] [stdout]    --> examples/custom_executor.rs:126:35
[INFO] [stdout]     |
[INFO] [stdout] 126 |         generic_delete_by_id::<S, Sqlite>(executor, id).await
[INFO] [stdout]     |                                   ^^^^^^ the trait `RowsAffected` is not implemented for `SqliteQueryResult`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `generic_delete_by_id`
[INFO] [stdout]    --> src/executor/generic.rs:345:22
[INFO] [stdout]     |
[INFO] [stdout] 339 | pub async fn generic_delete_by_id<S, DB>(
[INFO] [stdout]     |              -------------------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 345 |     DB::QueryResult: RowsAffected,
[INFO] [stdout]     |                      ^^^^^^^^^^^^ required by this bound in `generic_delete_by_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Sqlite: FormatPlaceholder` is not satisfied
[INFO] [stdout]    --> examples/custom_executor.rs:126:9
[INFO] [stdout]     |
[INFO] [stdout] 126 |         generic_delete_by_id::<S, Sqlite>(executor, id).await
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `FormatPlaceholder` is not implemented for `Sqlite`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `generic_delete_by_id`
[INFO] [stdout]    --> src/executor/generic.rs:344:20
[INFO] [stdout]     |
[INFO] [stdout] 339 | pub async fn generic_delete_by_id<S, DB>(
[INFO] [stdout]     |              -------------------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 344 |     DB: Database + FormatPlaceholder,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^ required by this bound in `generic_delete_by_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `SqliteQueryResult: RowsAffected` is not satisfied
[INFO] [stdout]    --> examples/custom_executor.rs:126:9
[INFO] [stdout]     |
[INFO] [stdout] 126 |         generic_delete_by_id::<S, Sqlite>(executor, id).await
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `RowsAffected` is not implemented for `SqliteQueryResult`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `generic_delete_by_id`
[INFO] [stdout]    --> src/executor/generic.rs:345:22
[INFO] [stdout]     |
[INFO] [stdout] 339 | pub async fn generic_delete_by_id<S, DB>(
[INFO] [stdout]     |              -------------------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 345 |     DB::QueryResult: RowsAffected,
[INFO] [stdout]     |                      ^^^^^^^^^^^^ required by this bound in `generic_delete_by_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `DefaultCRUDExecutor: CRUDExecutor<Sqlite>` is not satisfied
[INFO] [stdout]    --> tests/user.rs:224:49
[INFO] [stdout]     |
[INFO] [stdout] 224 |     let first_user_id = InsertWithoutId::insert(User::default(), &pool)
[INFO] [stdout]     |                         ----------------------- ^^^^^^^^^^^^^^^ the trait `CRUDExecutor<Sqlite>` is not implemented for `DefaultCRUDExecutor`
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `InsertWithoutId<Sqlite>` is implemented for `User`
[INFO] [stdout]    --> tests/user.rs:151:1
[INFO] [stdout]     |
[INFO] [stdout] 151 | / impl InsertWithoutId<Sqlite> for User
[INFO] [stdout] 152 | | where
[INFO] [stdout] 153 | |     User: Schema<Sqlite> + BindRow<Sqlite>,
[INFO] [stdout] 154 | |     DefaultCRUDExecutor: CRUDExecutor<Sqlite>,
[INFO] [stdout]     | |______________________________________________^
[INFO] [stdout] note: required for `User` to implement `InsertWithoutId<Sqlite>`
[INFO] [stdout]    --> tests/user.rs:151:6
[INFO] [stdout]     |
[INFO] [stdout] 151 | impl InsertWithoutId<Sqlite> for User
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |     DefaultCRUDExecutor: CRUDExecutor<Sqlite>,
[INFO] [stdout]     |                          -------------------- unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Sqlite: FormatPlaceholder` is not satisfied
[INFO] [stdout]    --> examples/custom_executor.rs:126:57
[INFO] [stdout]     |
[INFO] [stdout] 126 |         generic_delete_by_id::<S, Sqlite>(executor, id).await
[INFO] [stdout]     |                                                         ^^^^^ the trait `FormatPlaceholder` is not implemented for `Sqlite`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `generic_delete_by_id`
[INFO] [stdout]    --> src/executor/generic.rs:344:20
[INFO] [stdout]     |
[INFO] [stdout] 339 | pub async fn generic_delete_by_id<S, DB>(
[INFO] [stdout]     |              -------------------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 344 |     DB: Database + FormatPlaceholder,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^ required by this bound in `generic_delete_by_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `DefaultCRUDExecutor: CRUDExecutor<Sqlite>` is not satisfied
[INFO] [stdout]    --> tests/user.rs:224:25
[INFO] [stdout]     |
[INFO] [stdout] 224 |     let first_user_id = InsertWithoutId::insert(User::default(), &pool)
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `CRUDExecutor<Sqlite>` is not implemented for `DefaultCRUDExecutor`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `<User as InsertWithoutId<Sqlite>>`
[INFO] [stdout]    --> tests/user.rs:154:26
[INFO] [stdout]     |
[INFO] [stdout] 154 |     DefaultCRUDExecutor: CRUDExecutor<Sqlite>,
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^ required by this bound in `<User as InsertWithoutId<Sqlite>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `DefaultCRUDExecutor: CRUDExecutor<Sqlite>` is not satisfied
[INFO] [stdout]    --> tests/user.rs:225:10
[INFO] [stdout]     |
[INFO] [stdout] 225 |         .await
[INFO] [stdout]     |          ^^^^^ the trait `CRUDExecutor<Sqlite>` is not implemented for `DefaultCRUDExecutor`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `<User as InsertWithoutId<Sqlite>>`
[INFO] [stdout]    --> tests/user.rs:154:26
[INFO] [stdout]     |
[INFO] [stdout] 154 |     DefaultCRUDExecutor: CRUDExecutor<Sqlite>,
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^ required by this bound in `<User as InsertWithoutId<Sqlite>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `SqliteQueryResult: RowsAffected` is not satisfied
[INFO] [stdout]    --> examples/custom_executor.rs:126:57
[INFO] [stdout]     |
[INFO] [stdout] 126 |         generic_delete_by_id::<S, Sqlite>(executor, id).await
[INFO] [stdout]     |                                                         ^^^^^ the trait `RowsAffected` is not implemented for `SqliteQueryResult`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `generic_delete_by_id`
[INFO] [stdout]    --> src/executor/generic.rs:345:22
[INFO] [stdout]     |
[INFO] [stdout] 339 | pub async fn generic_delete_by_id<S, DB>(
[INFO] [stdout]     |              -------------------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 345 |     DB::QueryResult: RowsAffected,
[INFO] [stdout]     |                      ^^^^^^^^^^^^ required by this bound in `generic_delete_by_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `DefaultCRUDExecutor: CRUDExecutor<Sqlite>` is not satisfied
[INFO] [stdout]    --> tests/user.rs:229:50
[INFO] [stdout]     |
[INFO] [stdout] 229 |     let second_user_id = InsertWithoutId::insert(User::default(), &pool)
[INFO] [stdout]     |                          ----------------------- ^^^^^^^^^^^^^^^ the trait `CRUDExecutor<Sqlite>` is not implemented for `DefaultCRUDExecutor`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `InsertWithoutId<Sqlite>` is implemented for `User`
[INFO] [stdout]    --> tests/user.rs:151:1
[INFO] [stdout]     |
[INFO] [stdout] 151 | / impl InsertWithoutId<Sqlite> for User
[INFO] [stdout] 152 | | where
[INFO] [stdout] 153 | |     User: Schema<Sqlite> + BindRow<Sqlite>,
[INFO] [stdout] 154 | |     DefaultCRUDExecutor: CRUDExecutor<Sqlite>,
[INFO] [stdout]     | |______________________________________________^
[INFO] [stdout] note: required for `User` to implement `InsertWithoutId<Sqlite>`
[INFO] [stdout]    --> tests/user.rs:151:6
[INFO] [stdout]     |
[INFO] [stdout] 151 | impl InsertWithoutId<Sqlite> for User
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |     DefaultCRUDExecutor: CRUDExecutor<Sqlite>,
[INFO] [stdout]     |                          -------------------- unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `DefaultCRUDExecutor: CRUDExecutor<Sqlite>` is not satisfied
[INFO] [stdout]    --> tests/user.rs:229:26
[INFO] [stdout]     |
[INFO] [stdout] 229 |     let second_user_id = InsertWithoutId::insert(User::default(), &pool)
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `CRUDExecutor<Sqlite>` is not implemented for `DefaultCRUDExecutor`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `<User as InsertWithoutId<Sqlite>>`
[INFO] [stdout]    --> tests/user.rs:154:26
[INFO] [stdout]     |
[INFO] [stdout] 154 |     DefaultCRUDExecutor: CRUDExecutor<Sqlite>,
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^ required by this bound in `<User as InsertWithoutId<Sqlite>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `DefaultCRUDExecutor: CRUDExecutor<Sqlite>` is not satisfied
[INFO] [stdout]    --> tests/user.rs:230:10
[INFO] [stdout]     |
[INFO] [stdout] 230 |         .await
[INFO] [stdout]     |          ^^^^^ the trait `CRUDExecutor<Sqlite>` is not implemented for `DefaultCRUDExecutor`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `<User as InsertWithoutId<Sqlite>>`
[INFO] [stdout]    --> tests/user.rs:154:26
[INFO] [stdout]     |
[INFO] [stdout] 154 |     DefaultCRUDExecutor: CRUDExecutor<Sqlite>,
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^ required by this bound in `<User as InsertWithoutId<Sqlite>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `insert` exists for struct `UserInternalID`, but its trait bounds were not satisfied
[INFO] [stdout]   --> tests/queries.rs:52:24
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct UserInternalID {
[INFO] [stdout]    | ------------------------- method `insert` not found for this struct because it doesn't satisfy `UserInternalID: InsertWithoutId<_>`
[INFO] [stdout] ...
[INFO] [stdout] 52 |     let user_id = user.insert(&pool).await.unwrap();
[INFO] [stdout]    |                        ^^^^^^ method cannot be called on `UserInternalID` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/executor/mod.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct DefaultCRUDExecutor;
[INFO] [stdout]    | ------------------------------ doesn't satisfy `DefaultCRUDExecutor: CRUDExecutor<_>`
[INFO] [stdout]    |
[INFO] [stdout] note: trait bound `DefaultCRUDExecutor: CRUDExecutor<_>` was not satisfied
[INFO] [stdout]   --> tests/queries.rs:4:28
[INFO] [stdout]    |
[INFO] [stdout]  4 | #[derive(FromRow, IntoRow, Crudly, Default, Clone, PartialEq, Debug)]
[INFO] [stdout]    |                            ^^^^^^ type parameter would need to implement `InsertWithoutId`
[INFO] [stdout]    = help: consider manually implementing the trait to avoid undesired bounds
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following traits define an item `insert`, perhaps you need to implement one of them:
[INFO] [stdout]            candidate #1: `InsertWithId`
[INFO] [stdout]            candidate #2: `InsertWithoutId`
[INFO] [stdout]    = note: this error originates in the derive macro `Crudly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `DefaultCRUDExecutor: CRUDExecutor<Sqlite>` is not satisfied
[INFO] [stdout]    --> tests/user.rs:240:34
[INFO] [stdout]     |
[INFO] [stdout] 240 |     InsertWithoutId::insert_many(vec![User::default(), User::default()], 0, &pool)
[INFO] [stdout]     |     ---------------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `CRUDExecutor<Sqlite>` is not implemented for `DefaultCRUDExecutor`
[INFO] [stdout]     |     |
[INFO] [stdout]     |     required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `InsertWithoutId<Sqlite>` is implemented for `User`
[INFO] [stdout]    --> tests/user.rs:151:1
[INFO] [stdout]     |
[INFO] [stdout] 151 | / impl InsertWithoutId<Sqlite> for User
[INFO] [stdout] 152 | | where
[INFO] [stdout] 153 | |     User: Schema<Sqlite> + BindRow<Sqlite>,
[INFO] [stdout] 154 | |     DefaultCRUDExecutor: CRUDExecutor<Sqlite>,
[INFO] [stdout]     | |______________________________________________^
[INFO] [stdout] note: required for `User` to implement `InsertWithoutId<Sqlite>`
[INFO] [stdout]    --> tests/user.rs:151:6
[INFO] [stdout]     |
[INFO] [stdout] 151 | impl InsertWithoutId<Sqlite> for User
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |     DefaultCRUDExecutor: CRUDExecutor<Sqlite>,
[INFO] [stdout]     |                          -------------------- unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `DefaultCRUDExecutor: CRUDExecutor<Sqlite>` is not satisfied
[INFO] [stdout]    --> tests/user.rs:240:5
[INFO] [stdout]     |
[INFO] [stdout] 240 |     InsertWithoutId::insert_many(vec![User::default(), User::default()], 0, &pool)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `CRUDExecutor<Sqlite>` is not implemented for `DefaultCRUDExecutor`
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `InsertWithoutId<Sqlite>` is implemented for `User`
[INFO] [stdout]    --> tests/user.rs:151:1
[INFO] [stdout]     |
[INFO] [stdout] 151 | / impl InsertWithoutId<Sqlite> for User
[INFO] [stdout] 152 | | where
[INFO] [stdout] 153 | |     User: Schema<Sqlite> + BindRow<Sqlite>,
[INFO] [stdout] 154 | |     DefaultCRUDExecutor: CRUDExecutor<Sqlite>,
[INFO] [stdout]     | |______________________________________________^
[INFO] [stdout] note: required for `User` to implement `InsertWithoutId<Sqlite>`
[INFO] [stdout]    --> tests/user.rs:151:6
[INFO] [stdout]     |
[INFO] [stdout] 151 | impl InsertWithoutId<Sqlite> for User
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |     DefaultCRUDExecutor: CRUDExecutor<Sqlite>,
[INFO] [stdout]     |                          -------------------- unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the associated function or constant `select_by_id` exists for struct `UserInternalID`, but its trait bounds were not satisfied
[INFO] [stdout]   --> tests/queries.rs:54:32
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct UserInternalID {
[INFO] [stdout]    | ------------------------- associated function or constant `select_by_id` not found for this struct because it doesn't satisfy `UserInternalID: Crudly<_>`
[INFO] [stdout] ...
[INFO] [stdout] 54 |     let user = UserInternalID::select_by_id(&user_id, &pool)
[INFO] [stdout]    |                                ^^^^^^^^^^^^ associated function or constant cannot be called on `UserInternalID` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/executor/mod.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct DefaultCRUDExecutor;
[INFO] [stdout]    | ------------------------------ doesn't satisfy `DefaultCRUDExecutor: CRUDExecutor<_>`
[INFO] [stdout]    |
[INFO] [stdout] note: trait bound `DefaultCRUDExecutor: CRUDExecutor<_>` was not satisfied
[INFO] [stdout]   --> tests/queries.rs:4:28
[INFO] [stdout]    |
[INFO] [stdout]  4 | #[derive(FromRow, IntoRow, Crudly, Default, Clone, PartialEq, Debug)]
[INFO] [stdout]    |                            ^^^^^^ type parameter would need to implement `Crudly`
[INFO] [stdout]    = help: consider manually implementing the trait to avoid undesired bounds
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following traits define an item `select_by_id`, perhaps you need to implement one of them:
[INFO] [stdout]            candidate #1: `CRUDExecutor`
[INFO] [stdout]            candidate #2: `Crudly`
[INFO] [stdout]    = note: this error originates in the derive macro `Crudly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `insert` exists for struct `User`, but its trait bounds were not satisfied
[INFO] [stdout]   --> examples/basic.rs:26:28
[INFO] [stdout]    |
[INFO] [stdout]  9 | struct User {
[INFO] [stdout]    | ----------- method `insert` not found for this struct because it doesn't satisfy `User: InsertWithoutId<_>`
[INFO] [stdout] ...
[INFO] [stdout] 26 |     let inserted_id = user.insert(&pool).await.unwrap();
[INFO] [stdout]    |                            ^^^^^^ method cannot be called on `User` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/executor/mod.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct DefaultCRUDExecutor;
[INFO] [stdout]    | ------------------------------ doesn't satisfy `DefaultCRUDExecutor: CRUDExecutor<_>`
[INFO] [stdout]    |
[INFO] [stdout] note: trait bound `DefaultCRUDExecutor: CRUDExecutor<_>` was not satisfied
[INFO] [stdout]   --> examples/basic.rs:8:28
[INFO] [stdout]    |
[INFO] [stdout]  8 | #[derive(FromRow, IntoRow, Crudly)]
[INFO] [stdout]    |                            ^^^^^^ type parameter would need to implement `InsertWithoutId`
[INFO] [stdout]    = help: consider manually implementing the trait to avoid undesired bounds
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following traits define an item `insert`, perhaps you need to implement one of them:
[INFO] [stdout]            candidate #1: `InsertWithId`
[INFO] [stdout]            candidate #2: `InsertWithoutId`
[INFO] [stdout]    = note: this error originates in the derive macro `Crudly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the associated function or constant `insert_many` exists for struct `UserExternalID`, but its trait bounds were not satisfied
[INFO] [stdout]   --> tests/queries.rs:78:21
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct UserExternalID {
[INFO] [stdout]    | ------------------------- associated function or constant `insert_many` not found for this struct because it doesn't satisfy `UserExternalID: InsertWithId<_>`
[INFO] [stdout] ...
[INFO] [stdout] 78 |     UserExternalID::insert_many(users.clone(), 2, &pool)
[INFO] [stdout]    |                     ^^^^^^^^^^^ associated function or constant cannot be called on `UserExternalID` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/executor/mod.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct DefaultCRUDExecutor;
[INFO] [stdout]    | ------------------------------ doesn't satisfy `DefaultCRUDExecutor: CRUDExecutor<_>`
[INFO] [stdout]    |
[INFO] [stdout] note: trait bound `DefaultCRUDExecutor: CRUDExecutor<_>` was not satisfied
[INFO] [stdout]   --> tests/queries.rs:12:28
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(FromRow, IntoRow, Crudly, Default, Clone, PartialEq, Debug)]
[INFO] [stdout]    |                            ^^^^^^ type parameter would need to implement `InsertWithId`
[INFO] [stdout]    = help: consider manually implementing the trait to avoid undesired bounds
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following traits define an item `insert_many`, perhaps you need to implement one of them:
[INFO] [stdout]            candidate #1: `InsertWithId`
[INFO] [stdout]            candidate #2: `InsertWithoutId`
[INFO] [stdout]    = note: this error originates in the derive macro `Crudly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the associated function or constant `select_all` exists for struct `UserExternalID`, but its trait bounds were not satisfied
[INFO] [stdout]   --> tests/queries.rs:82:37
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct UserExternalID {
[INFO] [stdout]    | ------------------------- associated function or constant `select_all` not found for this struct because it doesn't satisfy `UserExternalID: Crudly<_>`
[INFO] [stdout] ...
[INFO] [stdout] 82 |     let all_users = UserExternalID::select_all(&pool).await.unwrap();
[INFO] [stdout]    |                                     ^^^^^^^^^^ associated function or constant cannot be called on `UserExternalID` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/executor/mod.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct DefaultCRUDExecutor;
[INFO] [stdout]    | ------------------------------ doesn't satisfy `DefaultCRUDExecutor: CRUDExecutor<_>`
[INFO] [stdout]    |
[INFO] [stdout] note: trait bound `DefaultCRUDExecutor: CRUDExecutor<_>` was not satisfied
[INFO] [stdout]   --> tests/queries.rs:12:28
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(FromRow, IntoRow, Crudly, Default, Clone, PartialEq, Debug)]
[INFO] [stdout]    |                            ^^^^^^ type parameter would need to implement `Crudly`
[INFO] [stdout]    = help: consider manually implementing the trait to avoid undesired bounds
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following traits define an item `select_all`, perhaps you need to implement one of them:
[INFO] [stdout]            candidate #1: `CRUDExecutor`
[INFO] [stdout]            candidate #2: `Crudly`
[INFO] [stdout]    = note: this error originates in the derive macro `Crudly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0271, E0277, E0308.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0271`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `crudly` (test "user") due to 13 previous errors
[INFO] [stdout] error[E0599]: the associated function or constant `insert_many` exists for struct `UserInternalID`, but its trait bounds were not satisfied
[INFO] [stdout]   --> tests/queries.rs:95:21
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct UserInternalID {
[INFO] [stdout]    | ------------------------- associated function or constant `insert_many` not found for this struct because it doesn't satisfy `UserInternalID: InsertWithoutId<_>`
[INFO] [stdout] ...
[INFO] [stdout] 95 |     UserInternalID::insert_many(users.clone(), 2, &pool)
[INFO] [stdout]    |                     ^^^^^^^^^^^ associated function or constant cannot be called on `UserInternalID` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/executor/mod.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct DefaultCRUDExecutor;
[INFO] [stdout]    | ------------------------------ doesn't satisfy `DefaultCRUDExecutor: CRUDExecutor<_>`
[INFO] [stdout]    |
[INFO] [stdout] note: trait bound `DefaultCRUDExecutor: CRUDExecutor<_>` was not satisfied
[INFO] [stdout]   --> tests/queries.rs:4:28
[INFO] [stdout]    |
[INFO] [stdout]  4 | #[derive(FromRow, IntoRow, Crudly, Default, Clone, PartialEq, Debug)]
[INFO] [stdout]    |                            ^^^^^^ type parameter would need to implement `InsertWithoutId`
[INFO] [stdout]    = help: consider manually implementing the trait to avoid undesired bounds
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following traits define an item `insert_many`, perhaps you need to implement one of them:
[INFO] [stdout]            candidate #1: `InsertWithId`
[INFO] [stdout]            candidate #2: `InsertWithoutId`
[INFO] [stdout]    = note: this error originates in the derive macro `Crudly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `crudly` (test "queries") due to 8 previous errors
[INFO] [stdout] error: `json` field attribute requires the `json` feature on `crudly`
[INFO] [stdout]    --> tests/into_row.rs:146:9
[INFO] [stdout]     |
[INFO] [stdout] 146 | /         #[sqlx(json)]
[INFO] [stdout] 147 | |         json: JsonObject,
[INFO] [stdout]     | |________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `json` field attribute requires the `json` feature on `crudly`
[INFO] [stdout]    --> tests/into_row.rs:163:5
[INFO] [stdout]     |
[INFO] [stdout] 163 | /     #[crudly(json(nullable))]
[INFO] [stdout] 164 | |     json: Option<JsonObject>,
[INFO] [stdout]     | |____________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the associated function or constant `select_all` exists for struct `UserInternalID`, but its trait bounds were not satisfied
[INFO] [stdout]   --> tests/queries.rs:99:37
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct UserInternalID {
[INFO] [stdout]    | ------------------------- associated function or constant `select_all` not found for this struct because it doesn't satisfy `UserInternalID: Crudly<_>`
[INFO] [stdout] ...
[INFO] [stdout] 99 |     let all_users = UserInternalID::select_all(&pool).await.unwrap();
[INFO] [stdout]    |                                     ^^^^^^^^^^ associated function or constant cannot be called on `UserInternalID` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/executor/mod.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct DefaultCRUDExecutor;
[INFO] [stdout]    | ------------------------------ doesn't satisfy `DefaultCRUDExecutor: CRUDExecutor<_>`
[INFO] [stdout]    |
[INFO] [stdout] note: trait bound `DefaultCRUDExecutor: CRUDExecutor<_>` was not satisfied
[INFO] [stdout]   --> tests/queries.rs:4:28
[INFO] [stdout]    |
[INFO] [stdout]  4 | #[derive(FromRow, IntoRow, Crudly, Default, Clone, PartialEq, Debug)]
[INFO] [stdout]    |                            ^^^^^^ type parameter would need to implement `Crudly`
[INFO] [stdout]    = help: consider manually implementing the trait to avoid undesired bounds
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following traits define an item `select_all`, perhaps you need to implement one of them:
[INFO] [stdout]            candidate #1: `CRUDExecutor`
[INFO] [stdout]            candidate #2: `Crudly`
[INFO] [stdout]    = note: this error originates in the derive macro `Crudly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the associated function or constant `select_all` exists for struct `User`, but its trait bounds were not satisfied
[INFO] [stdout]   --> examples/basic.rs:31:38
[INFO] [stdout]    |
[INFO] [stdout]  9 | struct User {
[INFO] [stdout]    | ----------- associated function or constant `select_all` not found for this struct because it doesn't satisfy `User: Crudly<_>`
[INFO] [stdout] ...
[INFO] [stdout] 31 |     let mut users: Vec<User> = User::select_all(&pool).await.unwrap();
[INFO] [stdout]    |                                      ^^^^^^^^^^ associated function or constant cannot be called on `User` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/executor/mod.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct DefaultCRUDExecutor;
[INFO] [stdout]    | ------------------------------ doesn't satisfy `DefaultCRUDExecutor: CRUDExecutor<_>`
[INFO] [stdout]    |
[INFO] [stdout] note: trait bound `DefaultCRUDExecutor: CRUDExecutor<_>` was not satisfied
[INFO] [stdout]   --> examples/basic.rs:8:28
[INFO] [stdout]    |
[INFO] [stdout]  8 | #[derive(FromRow, IntoRow, Crudly)]
[INFO] [stdout]    |                            ^^^^^^ type parameter would need to implement `Crudly`
[INFO] [stdout]    = help: consider manually implementing the trait to avoid undesired bounds
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following traits define an item `select_all`, perhaps you need to implement one of them:
[INFO] [stdout]            candidate #1: `CRUDExecutor`
[INFO] [stdout]            candidate #2: `Crudly`
[INFO] [stdout]    = note: this error originates in the derive macro `Crudly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the associated function or constant `select_by_id` exists for struct `User`, but its trait bounds were not satisfied
[INFO] [stdout]   --> examples/basic.rs:46:30
[INFO] [stdout]    |
[INFO] [stdout]  9 | struct User {
[INFO] [stdout]    | ----------- associated function or constant `select_by_id` not found for this struct because it doesn't satisfy `User: Crudly<_>`
[INFO] [stdout] ...
[INFO] [stdout] 46 |     let updated_user = User::select_by_id(&1, &pool).await.unwrap().unwrap();
[INFO] [stdout]    |                              ^^^^^^^^^^^^ associated function or constant cannot be called on `User` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/executor/mod.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct DefaultCRUDExecutor;
[INFO] [stdout]    | ------------------------------ doesn't satisfy `DefaultCRUDExecutor: CRUDExecutor<_>`
[INFO] [stdout]    |
[INFO] [stdout] note: trait bound `DefaultCRUDExecutor: CRUDExecutor<_>` was not satisfied
[INFO] [stdout]   --> examples/basic.rs:8:28
[INFO] [stdout]    |
[INFO] [stdout]  8 | #[derive(FromRow, IntoRow, Crudly)]
[INFO] [stdout]    |                            ^^^^^^ type parameter would need to implement `Crudly`
[INFO] [stdout]    = help: consider manually implementing the trait to avoid undesired bounds
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following traits define an item `select_by_id`, perhaps you need to implement one of them:
[INFO] [stdout]            candidate #1: `CRUDExecutor`
[INFO] [stdout]            candidate #2: `Crudly`
[INFO] [stdout]    = note: this error originates in the derive macro `Crudly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the associated function or constant `delete_by_id` exists for struct `User`, but its trait bounds were not satisfied
[INFO] [stdout]   --> examples/basic.rs:51:25
[INFO] [stdout]    |
[INFO] [stdout]  9 | struct User {
[INFO] [stdout]    | ----------- associated function or constant `delete_by_id` not found for this struct because it doesn't satisfy `User: Crudly<_>`
[INFO] [stdout] ...
[INFO] [stdout] 51 |     let deleted = User::delete_by_id(&1, &pool).await.unwrap();
[INFO] [stdout]    |                         ^^^^^^^^^^^^ associated function or constant cannot be called on `User` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/executor/mod.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct DefaultCRUDExecutor;
[INFO] [stdout]    | ------------------------------ doesn't satisfy `DefaultCRUDExecutor: CRUDExecutor<_>`
[INFO] [stdout]    |
[INFO] [stdout] note: trait bound `DefaultCRUDExecutor: CRUDExecutor<_>` was not satisfied
[INFO] [stdout]   --> examples/basic.rs:8:28
[INFO] [stdout]    |
[INFO] [stdout]  8 | #[derive(FromRow, IntoRow, Crudly)]
[INFO] [stdout]    |                            ^^^^^^ type parameter would need to implement `Crudly`
[INFO] [stdout]    = help: consider manually implementing the trait to avoid undesired bounds
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following traits define an item `delete_by_id`, perhaps you need to implement one of them:
[INFO] [stdout]            candidate #1: `CRUDExecutor`
[INFO] [stdout]            candidate #2: `Crudly`
[INFO] [stdout]    = note: this error originates in the derive macro `Crudly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `select_all` found for struct `DefaultCRUDExecutor` in the current scope
[INFO] [stdout]   --> tests/common/mock_crud_executor.rs:42:30
[INFO] [stdout]    |
[INFO] [stdout] 42 |         DefaultCRUDExecutor::select_all(executor).await
[INFO] [stdout]    |                              ^^^^^^^^^^ associated function or constant not found in `DefaultCRUDExecutor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the associated function or constant `select_all` exists for struct `User`, but its trait bounds were not satisfied
[INFO] [stdout]   --> examples/basic.rs:54:34
[INFO] [stdout]    |
[INFO] [stdout]  9 | struct User {
[INFO] [stdout]    | ----------- associated function or constant `select_all` not found for this struct because it doesn't satisfy `User: Crudly<_>`
[INFO] [stdout] ...
[INFO] [stdout] 54 |     let users: Vec<User> = User::select_all(&pool).await.unwrap();
[INFO] [stdout]    |                                  ^^^^^^^^^^ associated function or constant cannot be called on `User` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/executor/mod.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct DefaultCRUDExecutor;
[INFO] [stdout]    | ------------------------------ doesn't satisfy `DefaultCRUDExecutor: CRUDExecutor<_>`
[INFO] [stdout]    |
[INFO] [stdout] note: trait bound `DefaultCRUDExecutor: CRUDExecutor<_>` was not satisfied
[INFO] [stdout]   --> examples/basic.rs:8:28
[INFO] [stdout]    |
[INFO] [stdout]  8 | #[derive(FromRow, IntoRow, Crudly)]
[INFO] [stdout]    |                            ^^^^^^ type parameter would need to implement `Crudly`
[INFO] [stdout]    = help: consider manually implementing the trait to avoid undesired bounds
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following traits define an item `select_all`, perhaps you need to implement one of them:
[INFO] [stdout]            candidate #1: `CRUDExecutor`
[INFO] [stdout]            candidate #2: `Crudly`
[INFO] [stdout]    = note: this error originates in the derive macro `Crudly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `select_by_id` found for struct `DefaultCRUDExecutor` in the current scope
[INFO] [stdout]   --> tests/common/mock_crud_executor.rs:54:30
[INFO] [stdout]    |
[INFO] [stdout] 54 |         DefaultCRUDExecutor::select_by_id(id, executor).await
[INFO] [stdout]    |                              ^^^^^^^^^^^^ associated function or constant not found in `DefaultCRUDExecutor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `DefaultCRUDExecutor: CRUDExecutor<Sqlite>` is not satisfied
[INFO] [stdout]   --> tests/common/mock_crud_executor.rs:66:10
[INFO] [stdout]    |
[INFO] [stdout] 66 |         <DefaultCRUDExecutor as CRUDExecutor<Sqlite>>::id_exists::<S>(id, executor).await
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^ the trait `CRUDExecutor<Sqlite>` is not implemented for `DefaultCRUDExecutor`
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `CRUDExecutor<Sqlite>` is implemented for `MockCrudExecutor`
[INFO] [stdout]   --> tests/common/mock_crud_executor.rs:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl CRUDExecutor<Sqlite> for MockCrudExecutor {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `DefaultCRUDExecutor: CRUDExecutor<Sqlite>` is not satisfied
[INFO] [stdout]   --> tests/common/mock_crud_executor.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |         <DefaultCRUDExecutor as CRUDExecutor<Sqlite>>::id_exists::<S>(id, executor).await
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `CRUDExecutor<Sqlite>` is not implemented for `DefaultCRUDExecutor`
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `CRUDExecutor<Sqlite>` is implemented for `MockCrudExecutor`
[INFO] [stdout]   --> tests/common/mock_crud_executor.rs:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl CRUDExecutor<Sqlite> for MockCrudExecutor {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `insert_with_id` found for struct `DefaultCRUDExecutor` in the current scope
[INFO] [stdout]   --> tests/common/mock_crud_executor.rs:78:30
[INFO] [stdout]    |
[INFO] [stdout] 78 |         DefaultCRUDExecutor::insert_with_id(entity, executor).await
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^ associated function or constant not found in `DefaultCRUDExecutor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `insert_returning_id` found for struct `DefaultCRUDExecutor` in the current scope
[INFO] [stdout]   --> tests/common/mock_crud_executor.rs:89:30
[INFO] [stdout]    |
[INFO] [stdout] 89 |         DefaultCRUDExecutor::insert_returning_id(entity, executor).await
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^ associated function or constant not found in `DefaultCRUDExecutor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `DefaultCRUDExecutor: CRUDExecutor<Sqlite>` is not satisfied
[INFO] [stdout]    --> tests/common/mock_crud_executor.rs:101:10
[INFO] [stdout]     |
[INFO] [stdout] 101 |         <DefaultCRUDExecutor as CRUDExecutor<Sqlite>>::insert_many_without_id::<S>(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^ the trait `CRUDExecutor<Sqlite>` is not implemented for `DefaultCRUDExecutor`
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `CRUDExecutor<Sqlite>` is implemented for `MockCrudExecutor`
[INFO] [stdout]    --> tests/common/mock_crud_executor.rs:29:1
[INFO] [stdout]     |
[INFO] [stdout]  29 | impl CRUDExecutor<Sqlite> for MockCrudExecutor {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `DefaultCRUDExecutor: CRUDExecutor<Sqlite>` is not satisfied
[INFO] [stdout]    --> tests/common/mock_crud_executor.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 | /         <DefaultCRUDExecutor as CRUDExecutor<Sqlite>>::insert_many_without_id::<S>(
[INFO] [stdout] 102 | |             entities, batch_size, executor,
[INFO] [stdout] 103 | |         )
[INFO] [stdout]     | |_________^ the trait `CRUDExecutor<Sqlite>` is not implemented for `DefaultCRUDExecutor`
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `CRUDExecutor<Sqlite>` is implemented for `MockCrudExecutor`
[INFO] [stdout]    --> tests/common/mock_crud_executor.rs:29:1
[INFO] [stdout]     |
[INFO] [stdout]  29 | impl CRUDExecutor<Sqlite> for MockCrudExecutor {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `DefaultCRUDExecutor: CRUDExecutor<Sqlite>` is not satisfied
[INFO] [stdout]    --> tests/common/mock_crud_executor.rs:117:10
[INFO] [stdout]     |
[INFO] [stdout] 117 |         <DefaultCRUDExecutor as CRUDExecutor<Sqlite>>::insert_many_with_id::<S>(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^ the trait `CRUDExecutor<Sqlite>` is not implemented for `DefaultCRUDExecutor`
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `CRUDExecutor<Sqlite>` is implemented for `MockCrudExecutor`
[INFO] [stdout]    --> tests/common/mock_crud_executor.rs:29:1
[INFO] [stdout]     |
[INFO] [stdout]  29 | impl CRUDExecutor<Sqlite> for MockCrudExecutor {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `DefaultCRUDExecutor: CRUDExecutor<Sqlite>` is not satisfied
[INFO] [stdout]    --> tests/common/mock_crud_executor.rs:117:9
[INFO] [stdout]     |
[INFO] [stdout] 117 | /         <DefaultCRUDExecutor as CRUDExecutor<Sqlite>>::insert_many_with_id::<S>(
[INFO] [stdout] 118 | |             entities, batch_size, executor,
[INFO] [stdout] 119 | |         )
[INFO] [stdout]     | |_________^ the trait `CRUDExecutor<Sqlite>` is not implemented for `DefaultCRUDExecutor`
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `CRUDExecutor<Sqlite>` is implemented for `MockCrudExecutor`
[INFO] [stdout]    --> tests/common/mock_crud_executor.rs:29:1
[INFO] [stdout]     |
[INFO] [stdout]  29 | impl CRUDExecutor<Sqlite> for MockCrudExecutor {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `DefaultCRUDExecutor: CRUDExecutor<Sqlite>` is not satisfied
[INFO] [stdout]    --> tests/common/mock_crud_executor.rs:132:10
[INFO] [stdout]     |
[INFO] [stdout] 132 |         <DefaultCRUDExecutor as CRUDExecutor<Sqlite>>::update_by_id::<S>(entity, executor).await
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^ the trait `CRUDExecutor<Sqlite>` is not implemented for `DefaultCRUDExecutor`
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `CRUDExecutor<Sqlite>` is implemented for `MockCrudExecutor`
[INFO] [stdout]    --> tests/common/mock_crud_executor.rs:29:1
[INFO] [stdout]     |
[INFO] [stdout]  29 | impl CRUDExecutor<Sqlite> for MockCrudExecutor {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `DefaultCRUDExecutor: CRUDExecutor<Sqlite>` is not satisfied
[INFO] [stdout]    --> tests/common/mock_crud_executor.rs:132:9
[INFO] [stdout]     |
[INFO] [stdout] 132 |         <DefaultCRUDExecutor as CRUDExecutor<Sqlite>>::update_by_id::<S>(entity, executor).await
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `CRUDExecutor<Sqlite>` is not implemented for `DefaultCRUDExecutor`
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `CRUDExecutor<Sqlite>` is implemented for `MockCrudExecutor`
[INFO] [stdout]    --> tests/common/mock_crud_executor.rs:29:1
[INFO] [stdout]     |
[INFO] [stdout]  29 | impl CRUDExecutor<Sqlite> for MockCrudExecutor {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `DefaultCRUDExecutor: CRUDExecutor<Sqlite>` is not satisfied
[INFO] [stdout]    --> tests/common/mock_crud_executor.rs:144:10
[INFO] [stdout]     |
[INFO] [stdout] 144 |         <DefaultCRUDExecutor as CRUDExecutor<Sqlite>>::delete_by_id::<S>(id, executor).await
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^ the trait `CRUDExecutor<Sqlite>` is not implemented for `DefaultCRUDExecutor`
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `CRUDExecutor<Sqlite>` is implemented for `MockCrudExecutor`
[INFO] [stdout]    --> tests/common/mock_crud_executor.rs:29:1
[INFO] [stdout]     |
[INFO] [stdout]  29 | impl CRUDExecutor<Sqlite> for MockCrudExecutor {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `DefaultCRUDExecutor: CRUDExecutor<Sqlite>` is not satisfied
[INFO] [stdout]    --> tests/common/mock_crud_executor.rs:144:9
[INFO] [stdout]     |
[INFO] [stdout] 144 |         <DefaultCRUDExecutor as CRUDExecutor<Sqlite>>::delete_by_id::<S>(id, executor).await
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `CRUDExecutor<Sqlite>` is not implemented for `DefaultCRUDExecutor`
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `CRUDExecutor<Sqlite>` is implemented for `MockCrudExecutor`
[INFO] [stdout]    --> tests/common/mock_crud_executor.rs:29:1
[INFO] [stdout]     |
[INFO] [stdout]  29 | impl CRUDExecutor<Sqlite> for MockCrudExecutor {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `crudly` (example "basic") due to 5 previous errors
[INFO] [stderr] error: could not compile `crudly` (example "custom_executor") due to 30 previous errors
[INFO] [stdout] error[E0599]: the method `insert` exists for struct `PresetIdRow`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/crudly.rs:138:6
[INFO] [stdout]     |
[INFO] [stdout] 121 |   struct PresetIdRow {
[INFO] [stdout]     |   ------------------ method `insert` not found for this struct because it doesn't satisfy `PresetIdRow: InsertWithId<_>`
[INFO] [stdout] ...
[INFO] [stdout] 134 | /     PresetIdRow {
[INFO] [stdout] 135 | |         id: 42,
[INFO] [stdout] 136 | |         label: "hi".into(),
[INFO] [stdout] 137 | |     }
[INFO] [stdout] 138 | |     .insert(&pool)
[INFO] [stdout]     | |     -^^^^^^ method cannot be called on `PresetIdRow` due to unsatisfied trait bounds
[INFO] [stdout]     | |_____|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/executor/mod.rs:16:1
[INFO] [stdout]     |
[INFO] [stdout]  16 |   pub struct DefaultCRUDExecutor;
[INFO] [stdout]     |   ------------------------------ doesn't satisfy `DefaultCRUDExecutor: CRUDExecutor<_>`
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `DefaultCRUDExecutor: CRUDExecutor<_>` was not satisfied
[INFO] [stdout]    --> tests/crudly.rs:119:28
[INFO] [stdout]     |
[INFO] [stdout] 119 | #[derive(FromRow, IntoRow, Crudly)]
[INFO] [stdout]     |                            ^^^^^^ type parameter would need to implement `InsertWithId`
[INFO] [stdout]     = help: consider manually implementing the trait to avoid undesired bounds
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `insert`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `InsertWithId`
[INFO] [stdout]             candidate #2: `InsertWithoutId`
[INFO] [stdout]     = note: this error originates in the derive macro `Crudly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `select_all` found for struct `DefaultCRUDExecutor` in the current scope
[INFO] [stdout]   --> tests/common/mock_crud_executor.rs:42:30
[INFO] [stdout]    |
[INFO] [stdout] 42 |         DefaultCRUDExecutor::select_all(executor).await
[INFO] [stdout]    |                              ^^^^^^^^^^ associated function or constant not found in `DefaultCRUDExecutor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `select_by_id` found for struct `DefaultCRUDExecutor` in the current scope
[INFO] [stdout]   --> tests/common/mock_crud_executor.rs:54:30
[INFO] [stdout]    |
[INFO] [stdout] 54 |         DefaultCRUDExecutor::select_by_id(id, executor).await
[INFO] [stdout]    |                              ^^^^^^^^^^^^ associated function or constant not found in `DefaultCRUDExecutor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `DefaultCRUDExecutor: CRUDExecutor<Sqlite>` is not satisfied
[INFO] [stdout]   --> tests/common/mock_crud_executor.rs:66:10
[INFO] [stdout]    |
[INFO] [stdout] 66 |         <DefaultCRUDExecutor as CRUDExecutor<Sqlite>>::id_exists::<S>(id, executor).await
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^ the trait `CRUDExecutor<Sqlite>` is not implemented for `DefaultCRUDExecutor`
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `CRUDExecutor<Sqlite>` is implemented for `MockCrudExecutor`
[INFO] [stdout]   --> tests/common/mock_crud_executor.rs:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl CRUDExecutor<Sqlite> for MockCrudExecutor {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `DefaultCRUDExecutor: CRUDExecutor<Sqlite>` is not satisfied
[INFO] [stdout]   --> tests/common/mock_crud_executor.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |         <DefaultCRUDExecutor as CRUDExecutor<Sqlite>>::id_exists::<S>(id, executor).await
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `CRUDExecutor<Sqlite>` is not implemented for `DefaultCRUDExecutor`
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `CRUDExecutor<Sqlite>` is implemented for `MockCrudExecutor`
[INFO] [stdout]   --> tests/common/mock_crud_executor.rs:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl CRUDExecutor<Sqlite> for MockCrudExecutor {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `insert_with_id` found for struct `DefaultCRUDExecutor` in the current scope
[INFO] [stdout]   --> tests/common/mock_crud_executor.rs:78:30
[INFO] [stdout]    |
[INFO] [stdout] 78 |         DefaultCRUDExecutor::insert_with_id(entity, executor).await
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^ associated function or constant not found in `DefaultCRUDExecutor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `insert_returning_id` found for struct `DefaultCRUDExecutor` in the current scope
[INFO] [stdout]   --> tests/common/mock_crud_executor.rs:89:30
[INFO] [stdout]    |
[INFO] [stdout] 89 |         DefaultCRUDExecutor::insert_returning_id(entity, executor).await
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^ associated function or constant not found in `DefaultCRUDExecutor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `DefaultCRUDExecutor: CRUDExecutor<Sqlite>` is not satisfied
[INFO] [stdout]    --> tests/common/mock_crud_executor.rs:101:10
[INFO] [stdout]     |
[INFO] [stdout] 101 |         <DefaultCRUDExecutor as CRUDExecutor<Sqlite>>::insert_many_without_id::<S>(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^ the trait `CRUDExecutor<Sqlite>` is not implemented for `DefaultCRUDExecutor`
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `CRUDExecutor<Sqlite>` is implemented for `MockCrudExecutor`
[INFO] [stdout]    --> tests/common/mock_crud_executor.rs:29:1
[INFO] [stdout]     |
[INFO] [stdout]  29 | impl CRUDExecutor<Sqlite> for MockCrudExecutor {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `DefaultCRUDExecutor: CRUDExecutor<Sqlite>` is not satisfied
[INFO] [stdout]    --> tests/common/mock_crud_executor.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 | /         <DefaultCRUDExecutor as CRUDExecutor<Sqlite>>::insert_many_without_id::<S>(
[INFO] [stdout] 102 | |             entities, batch_size, executor,
[INFO] [stdout] 103 | |         )
[INFO] [stdout]     | |_________^ the trait `CRUDExecutor<Sqlite>` is not implemented for `DefaultCRUDExecutor`
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `CRUDExecutor<Sqlite>` is implemented for `MockCrudExecutor`
[INFO] [stdout]    --> tests/common/mock_crud_executor.rs:29:1
[INFO] [stdout]     |
[INFO] [stdout]  29 | impl CRUDExecutor<Sqlite> for MockCrudExecutor {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `DefaultCRUDExecutor: CRUDExecutor<Sqlite>` is not satisfied
[INFO] [stdout]    --> tests/common/mock_crud_executor.rs:117:10
[INFO] [stdout]     |
[INFO] [stdout] 117 |         <DefaultCRUDExecutor as CRUDExecutor<Sqlite>>::insert_many_with_id::<S>(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^ the trait `CRUDExecutor<Sqlite>` is not implemented for `DefaultCRUDExecutor`
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `CRUDExecutor<Sqlite>` is implemented for `MockCrudExecutor`
[INFO] [stdout]    --> tests/common/mock_crud_executor.rs:29:1
[INFO] [stdout]     |
[INFO] [stdout]  29 | impl CRUDExecutor<Sqlite> for MockCrudExecutor {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `DefaultCRUDExecutor: CRUDExecutor<Sqlite>` is not satisfied
[INFO] [stdout]    --> tests/common/mock_crud_executor.rs:117:9
[INFO] [stdout]     |
[INFO] [stdout] 117 | /         <DefaultCRUDExecutor as CRUDExecutor<Sqlite>>::insert_many_with_id::<S>(
[INFO] [stdout] 118 | |             entities, batch_size, executor,
[INFO] [stdout] 119 | |         )
[INFO] [stdout]     | |_________^ the trait `CRUDExecutor<Sqlite>` is not implemented for `DefaultCRUDExecutor`
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `CRUDExecutor<Sqlite>` is implemented for `MockCrudExecutor`
[INFO] [stdout]    --> tests/common/mock_crud_executor.rs:29:1
[INFO] [stdout]     |
[INFO] [stdout]  29 | impl CRUDExecutor<Sqlite> for MockCrudExecutor {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `DefaultCRUDExecutor: CRUDExecutor<Sqlite>` is not satisfied
[INFO] [stdout]    --> tests/common/mock_crud_executor.rs:132:10
[INFO] [stdout]     |
[INFO] [stdout] 132 |         <DefaultCRUDExecutor as CRUDExecutor<Sqlite>>::update_by_id::<S>(entity, executor).await
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^ the trait `CRUDExecutor<Sqlite>` is not implemented for `DefaultCRUDExecutor`
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `CRUDExecutor<Sqlite>` is implemented for `MockCrudExecutor`
[INFO] [stdout]    --> tests/common/mock_crud_executor.rs:29:1
[INFO] [stdout]     |
[INFO] [stdout]  29 | impl CRUDExecutor<Sqlite> for MockCrudExecutor {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `DefaultCRUDExecutor: CRUDExecutor<Sqlite>` is not satisfied
[INFO] [stdout]    --> tests/common/mock_crud_executor.rs:132:9
[INFO] [stdout]     |
[INFO] [stdout] 132 |         <DefaultCRUDExecutor as CRUDExecutor<Sqlite>>::update_by_id::<S>(entity, executor).await
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `CRUDExecutor<Sqlite>` is not implemented for `DefaultCRUDExecutor`
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `CRUDExecutor<Sqlite>` is implemented for `MockCrudExecutor`
[INFO] [stdout]    --> tests/common/mock_crud_executor.rs:29:1
[INFO] [stdout]     |
[INFO] [stdout]  29 | impl CRUDExecutor<Sqlite> for MockCrudExecutor {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `DefaultCRUDExecutor: CRUDExecutor<Sqlite>` is not satisfied
[INFO] [stdout]    --> tests/common/mock_crud_executor.rs:144:10
[INFO] [stdout]     |
[INFO] [stdout] 144 |         <DefaultCRUDExecutor as CRUDExecutor<Sqlite>>::delete_by_id::<S>(id, executor).await
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^ the trait `CRUDExecutor<Sqlite>` is not implemented for `DefaultCRUDExecutor`
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `CRUDExecutor<Sqlite>` is implemented for `MockCrudExecutor`
[INFO] [stdout]    --> tests/common/mock_crud_executor.rs:29:1
[INFO] [stdout]     |
[INFO] [stdout]  29 | impl CRUDExecutor<Sqlite> for MockCrudExecutor {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `DefaultCRUDExecutor: CRUDExecutor<Sqlite>` is not satisfied
[INFO] [stdout]    --> tests/common/mock_crud_executor.rs:144:9
[INFO] [stdout]     |
[INFO] [stdout] 144 |         <DefaultCRUDExecutor as CRUDExecutor<Sqlite>>::delete_by_id::<S>(id, executor).await
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `CRUDExecutor<Sqlite>` is not implemented for `DefaultCRUDExecutor`
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `CRUDExecutor<Sqlite>` is implemented for `MockCrudExecutor`
[INFO] [stdout]    --> tests/common/mock_crud_executor.rs:29:1
[INFO] [stdout]     |
[INFO] [stdout]  29 | impl CRUDExecutor<Sqlite> for MockCrudExecutor {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `columns` found for struct `JsonField` in the current scope
[INFO] [stdout]    --> tests/into_row.rs:150:27
[INFO] [stdout]     |
[INFO] [stdout] 145 |     struct JsonField {
[INFO] [stdout]     |     ---------------- associated function or constant `columns` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 150 |     assert_eq!(JsonField::columns(), vec!["json"]);
[INFO] [stdout]     |                           ^^^^^^^ associated function or constant not found in `JsonField`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `columns`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `HasColumns`
[INFO] [stdout]             candidate #2: `Row`
[INFO] [stdout]             candidate #3: `Statement`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `JsonField: IntoRow<MockDB>` is not satisfied
[INFO] [stdout]    --> tests/into_row.rs:157:15
[INFO] [stdout]     |
[INFO] [stdout] 157 |     bind_mock(JsonField { json }, &mut args).unwrap();
[INFO] [stdout]     |     --------- ^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |     |
[INFO] [stdout]     |     required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `IntoRow<MockDB>` is not implemented for `JsonField`
[INFO] [stdout]    --> tests/into_row.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 145 |     struct JsonField {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `IntoRow<DB>`:
[INFO] [stdout]               ContainerDefault
[INFO] [stdout]               FieldDefaultAttr
[INFO] [stdout]               InnerFlat
[INFO] [stdout]               OuterFlat
[INFO] [stdout]               RenameAllCamel
[INFO] [stdout]               RenamedField
[INFO] [stdout]               Skipped
[INFO] [stdout]               SplitAttrs
[INFO] [stdout]             and 2 others
[INFO] [stdout] note: required by a bound in `bind_mock`
[INFO] [stdout]    --> tests/into_row.rs:8:17
[INFO] [stdout]     |
[INFO] [stdout]   8 | fn bind_mock<R: IntoRow<MockDB>>(row: R, args: &mut MockArguments<'_>) -> sqlx::Result<()> {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ required by this bound in `bind_mock`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `crudly` (test "crudly") due to 15 previous errors
[INFO] [stdout] error[E0599]: no associated function or constant named `columns` found for struct `JsonNullable` in the current scope
[INFO] [stdout]    --> tests/into_row.rs:169:30
[INFO] [stdout]     |
[INFO] [stdout] 162 | struct JsonNullable {
[INFO] [stdout]     | ------------------- associated function or constant `columns` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 169 |     assert_eq!(JsonNullable::columns(), vec!["json"]);
[INFO] [stdout]     |                              ^^^^^^^ associated function or constant not found in `JsonNullable`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `columns`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `HasColumns`
[INFO] [stdout]             candidate #2: `Row`
[INFO] [stdout]             candidate #3: `Statement`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `JsonNullable: IntoRow<MockDB>` is not satisfied
[INFO] [stdout]    --> tests/into_row.rs:171:15
[INFO] [stdout]     |
[INFO] [stdout] 171 |     bind_mock(JsonNullable { json: None }, &mut args).unwrap();
[INFO] [stdout]     |     --------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |     |
[INFO] [stdout]     |     required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `IntoRow<MockDB>` is not implemented for `JsonNullable`
[INFO] [stdout]    --> tests/into_row.rs:162:1
[INFO] [stdout]     |
[INFO] [stdout] 162 | struct JsonNullable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `IntoRow<DB>`:
[INFO] [stdout]               ContainerDefault
[INFO] [stdout]               FieldDefaultAttr
[INFO] [stdout]               InnerFlat
[INFO] [stdout]               OuterFlat
[INFO] [stdout]               RenameAllCamel
[INFO] [stdout]               RenamedField
[INFO] [stdout]               Skipped
[INFO] [stdout]               SplitAttrs
[INFO] [stdout]             and 2 others
[INFO] [stdout] note: required by a bound in `bind_mock`
[INFO] [stdout]    --> tests/into_row.rs:8:17
[INFO] [stdout]     |
[INFO] [stdout]   8 | fn bind_mock<R: IntoRow<MockDB>>(row: R, args: &mut MockArguments<'_>) -> sqlx::Result<()> {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ required by this bound in `bind_mock`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `JsonNullable: IntoRow<MockDB>` is not satisfied
[INFO] [stdout]    --> tests/into_row.rs:182:9
[INFO] [stdout]     |
[INFO] [stdout] 181 |       bind_mock(
[INFO] [stdout]     |       --------- required by a bound introduced by this call
[INFO] [stdout] 182 | /         JsonNullable {
[INFO] [stdout] 183 | |             json: Some(json.clone()),
[INFO] [stdout] 184 | |         },
[INFO] [stdout]     | |_________^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `IntoRow<MockDB>` is not implemented for `JsonNullable`
[INFO] [stdout]    --> tests/into_row.rs:162:1
[INFO] [stdout]     |
[INFO] [stdout] 162 | struct JsonNullable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `IntoRow<DB>`:
[INFO] [stdout]               ContainerDefault
[INFO] [stdout]               FieldDefaultAttr
[INFO] [stdout]               InnerFlat
[INFO] [stdout]               OuterFlat
[INFO] [stdout]               RenameAllCamel
[INFO] [stdout]               RenamedField
[INFO] [stdout]               Skipped
[INFO] [stdout]               SplitAttrs
[INFO] [stdout]             and 2 others
[INFO] [stdout] note: required by a bound in `bind_mock`
[INFO] [stdout]    --> tests/into_row.rs:8:17
[INFO] [stdout]     |
[INFO] [stdout]   8 | fn bind_mock<R: IntoRow<MockDB>>(row: R, args: &mut MockArguments<'_>) -> sqlx::Result<()> {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ required by this bound in `bind_mock`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `crudly` (test "into_row") due to 21 previous errors
[INFO] running `Command { std: "docker" "inspect" "c192b953fca1e73bde8cb38db9c37a523ea8e54642e8f57966a71de1f0403d71", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c192b953fca1e73bde8cb38db9c37a523ea8e54642e8f57966a71de1f0403d71", kill_on_drop: false }`
[INFO] [stdout] c192b953fca1e73bde8cb38db9c37a523ea8e54642e8f57966a71de1f0403d71
